<template>
  <div class="child">
    <h3>孙组件</h3>
    <!-- <h4>爷爷给我的银子:{{ moneyc }}万元</h4> -->
    <h4>爷爷给我的银子:{{ money }}万元</h4>
    <h4>爷爷给我的车：{{ car.brand }},价值{{ car.price }}万元</h4>
    <button @click="updateMoney(6)">花爷爷的钱</button>
  </div>
</template>

<script setup lang="ts" name="Child">
import { inject, ref } from "vue";
// let moneyc = inject("money", "这边也可以传递默认值");
//由于父组件没有提供数据，所以只能使用默认值
//moneyConext接收祖提供的对象，在给每个对象里面的数据提供默认值
let { money, updateMoney } = inject("moneyConext", {
  money: ref(0), // 使用ref创建响应式默认值
  updateMoney: (x: number) => {},
});

let car = inject("car", { brand: "未知", price: 0 }); //推断不出来，可以用默认值，但是不能是null
</script>

<style scoped>
.child {
  background-color: skyblue;
  padding: 10px;
  border-radius: 10px;
  box-shadow: 0 0 10px black;
}
</style>
